[185] Update N cycle documentation#342
Conversation
There was a problem hiding this comment.
Pull request overview
Note
Copilot was unable to run its full agentic suite in this review.
Updates nitrogen-cycle documentation to reflect a single mineral nitrogen pool and clarifies volatilization/leaching parameter definitions and equations.
Changes:
- Renames initial mineral N state symbol to a single shared
$N_{\text{min},0}$ pool. - Rewrites nitrogen volatilization and leaching documentation (including justification and updated leaching scaling).
- Adjusts temperature-response equation formatting and clarifies moisture-fraction wording.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 5 comments.
| File | Description |
|---|---|
| docs/parameters.md | Updates parameter table entries and nitrogen-cycle parameter definitions/units to match revised model description. |
| docs/model-structure.md | Updates nitrogen volatilization/leaching sections to reflect single |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| | Symbol | Parameter Name | Definition | Units | Notes | | ||
| | ---------------------- | -------------------- | ------------------------------------------------------------------------------------------------------------------------------------ | ----------------- | -------------------------------- | | ||
| | $K_\text{vol}$ | nVolatilizationFrac | Nitrogen volatilization rate constant that determines the maximum rate of N volatilization as a proportion of available $N_\text{min}$ | $\text{day}^{-1}$ | \eqref{eq:n_vol} | | ||
| | $f^N_{\text{leach}}$ | nLeachingFrac | Fraction of $N_\text{min}$ available to be leached, applied after scaling by $\phi = \min(F^W_\text{drainage}/W_\text{WHC}, 1)$ | unitless | \eqref{eq:n_leach} | |
There was a problem hiding this comment.
Yes, nLeachingFrac should have units of day^-1 (per day); this should be updated here and in state.h
There was a problem hiding this comment.
Updated the units in state.h to match the documentation (per day)
|
|
||
| \begin{equation} | ||
| F^N_\text{leach} = N_\text{min} \cdot F^W_{drainage} \cdot f_{N leach} | ||
| F^N_\text{leach} = N_\text{min} \cdot \phi \cdot f_{N leach} |
There was a problem hiding this comment.
f^N_\text{leach} should be used everywhere.
| where: | ||
|
|
||
| \begin{equation} | ||
| \phi = \min\left(\frac{F^W_\text{drainage}}{W_\text{WHC}}, 1\right) | ||
| \end{equation} | ||
|
|
||
| $f^N_\text{leach}$ is the fraction of $N_\text{min}$ available to be leached, $F^W_\text{drainage}$ is drainage, and |
| mineral nitrogen pool. The realized volatilization flux is proportional to $N_\text{min}$ and depends on temperature and | ||
| soil moisture. | ||
| $K_\text{vol}$ is the nitrogen volatilization rate constant that determines the maximum rate of N volatilization as a | ||
| proportion of available $N_\text{min}$. The realized volatilization flux is proportional to available Nmin through Kvol and depends on temperature and soil moisture. |
There was a problem hiding this comment.
Agreed with copilot's recommendation
| \[ | ||
| D_{\text{temp,Q10}} = Q_{10}^{\frac{(T-T_\text{opt})}{10}} | ||
| \label{eq:Braswell_A18b} | ||
| \end{equation} | ||
| \] |
|
Hello @dlebauer sir , I have made changes. Can you please review it once ? Tell me if any correction is there. |
dlebauer
left a comment
There was a problem hiding this comment.
Thanks for these changes - sorry I reviewed and had suggestions but forgot to submit them. Please see comments in line.
| Moisture dependence functions are typically based on soil water content as a fraction of water holding capacity, also | ||
| referred to as soil moisture or fractional soil wetness. We will represent this fraction of soil wetness | ||
| as $f_\text{WHC}$. | ||
| referred to as soil moisture or fractional soil wetness. SIPNET represents this fraction of soil wetness as |
There was a problem hiding this comment.
| referred to as soil moisture or fractional soil wetness. SIPNET represents this fraction of soil wetness as | |
| referred to as soil moisture or fractional soil wetness |
| referred to as soil moisture or fractional soil wetness. We will represent this fraction of soil wetness | ||
| as $f_\text{WHC}$. | ||
| referred to as soil moisture or fractional soil wetness. SIPNET represents this fraction of soil wetness as | ||
| $f_\text{WHC}$. |
There was a problem hiding this comment.
| $f_\text{WHC}$. | |
| ($f_\text{WHC}$). |
| | $N_{\text{org, litter},0}$ | litterOrgNInit | Initial litter organic nitrogen content | $\text{g N} \cdot \text{m}^{-2}$ | | | ||
| | $N_{\text{org, soil},0}$ | soilOrgNInit | Initial soil organic nitrogen content | $\text{g N} \cdot \text{m}^{-2}$ | | | ||
| | $N_{\text{min, soil},0}$ | mineralNInit | Initial soil mineral nitrogen content | $\text{g N} \cdot \text{m}^{-2}$ | | | ||
| | $N_{\text{min},0}$ | mineralNInit | Initial mineral nitrogen content | $\text{g N} \cdot \text{m}^{-2}$ | Single mineral N pool used by soil and litter N fluxes | |
There was a problem hiding this comment.
Although this is a simplifying abstraction, even though both litter and soil contribute to this pool, it still functions as a soil mineral N pool because it is available to roots.
I'd prefer to keep the soil subscript, and use the description to clarify.
There was a problem hiding this comment.
Updated as suggested, thanks
| | $K_\text{vol}$ | nVolatilizationFrac | Nitrogen volatilization rate constant that determines the maximum rate of N volatilization as a proportion of available $N_\text{min}$ | $\text{day}^{-1}$ | \eqref{eq:n_vol} | | ||
| | $f^N_{\text{leach}}$ | nLeachingFrac | Fraction of $N_\text{min}$ available to be leached, applied after scaling by $\phi = \min(F^W_\text{drainage}/W_\text{WHC}, 1)$ | $\text{day}^{-1}$ | \eqref{eq:n_leach} | |
There was a problem hiding this comment.
I kept $K_\text{vol}$ because SIP89 and issue #185 use K_vol for the volatilization rate constant, and it matches the implemented nVolatilizationFrac parameter and existing model equations. I used $f^N_\text{leach}$ for leaching to stay consistent with the current leaching notation and recent review comments. If you'd prefer both parameters to follow the same notation convention, I'm happy to update them consistently.
| | Symbol | Parameter Name | Definition | Units | Notes | | ||
| | ---------------------- | -------------------- | ------------------------------------------------------------------------------------------------------------------------------------ | ----------------- | -------------------------------- | | ||
| | $K_\text{vol}$ | nVolatilizationFrac | Nitrogen volatilization rate constant that determines the maximum rate of N volatilization as a proportion of available $N_\text{min}$ | $\text{day}^{-1}$ | \eqref{eq:n_vol} | | ||
| | $f^N_{\text{leach}}$ | nLeachingFrac | Fraction of $N_\text{min}$ available to be leached, applied after scaling by $\phi = \min(F^W_\text{drainage}/W_\text{WHC}, 1)$ | $\text{day}^{-1}$ | \eqref{eq:n_leach} | |
| \begin{equation} | ||
| \phi = \min\left(\frac{F^W_\text{drainage}}{W_\text{WHC}}, 1\right) | ||
| \end{equation} |
|
Thanks! |
Summary
What: Updated nitrogen cycle documentation in
docs/model-structure.mdanddocs/parameters.mdto reflect the implemented N-cycle behavior.Changes include:
K_volto Nitrogen Cycle ParametersfN2O_volfNLeachF^N_leach = N_min · φ · fN_leachφ = min(F^W_drainage / W_WHC, 1)minNpool while preserving separate soil and litter mineralization fluxesMotivation: The documentation did not fully match the implemented nitrogen cycle behavior and parameter definitions. This update aligns the documentation with the current implementation and removes outdated or redundant descriptions.
How was this change tested?
Verified documentation builds successfully.
Manually reviewed rendered pages for:
Reviewed
git diffto confirm changes are limited to intended documentation updates.No smoke tests or code execution changes were required since this PR only updates documentation.
Reproduction steps
Related issues
Checklist